/*
 * HttpHeader.h
 *
 */

#ifndef HTTPHEADER_H_
#define HTTPHEADER_H_

#include "HttpMessage.h"

class HttpHeader {
	private:
		std::string name;
		std::string value;
	public:
		/** Crea una instancia asociada al nombre y valor.
		 * @param name Nombre del header.
		 * @param value Valor del header.
		 */
		HttpHeader(const std::string& name, const std::string& value);

		virtual ~HttpHeader();

		/**
		 * Devuelve el nombre del header.
		 */
		const std::string& getName() const;

		/**
		 * Devuelve el valor del header.
		 */
		const std::string& getValue() const;

		/**
		 * Devuelve el header en el formato requerido por Http.
		 */
		std::string getHeaderLine() const;

		static const char SEPARATOR = ':';
		static const std::string CONTENT_TYPE;
		static const std::string CONTENT_LENGTH;
};

#endif /* HTTPHEADER_H_ */
